#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//
ll n;//减的是绝对值,且是连通块(即为和),条件1e12,一定是logn的做法那么就会想到二分的思想,1->3 
ll dfs(ll n)
{
	if(n==1||n==2)return 0;
    if(n&1)return dfs(n/2)+dfs(n/2+1)+1;//如果是奇数,那么就会相差1
    else return dfs(n/2)*2;
}

int main()
{
	close();
	int T; cin>>T;
	while (T--) cin>>n,cout<<dfs(n)<<'\n';
	return 0;
}